/**************************************************************************************
 * 社区自治的混入
 * 注意，尽管有部分是用于赛事处理的，但是如果只有投标才需要的话，还是放在本文件中
 *
 *************************************************************************************/
import { REVIEW_STATUS, VOTES_STATUS } from "@/views/manage/js/manage.lib";
import {formatSeconds, toNonExponential} from "@/libs/site.utils";
import { validateScore } from "@/views/manage/js/manage.func";
import { CONTEST_STATUS } from "@/views/contestHall/contest.lib";

//导出
export const mixinsManage = {
	data () {
		return {
			loading     : false,//loading状态
			timestampNow: 0,//当前时间戳
			//todo 以下数据要整改
			voteStatus  : Object.freeze(VOTES_STATUS), //投票状态，可能用于下拉菜单
			gameStatus  : Object.freeze(CONTEST_STATUS), //投票状态，可能用于下拉菜单
			reviewStatus: Object.freeze(REVIEW_STATUS),//复核状态，不一定用于下拉菜单
		}
	},
	computed:{

		//精度计算显示
		precisionDivision () {
			return (number, decimal) => {
				return number
					? toNonExponential(parseFloat(number) / Math.pow(10, decimal))
					: 0
			}
		},
		//投票剩余时间专用显示
		voteCutTimeFormat () {
			return (time) => {
				let _diff = time / 1000 - this.timestampNow
				return _diff > 0 ? formatSeconds(_diff) : '已结束'
			}
		},
		//把投票状态数组转为一级对象
		voteStatusObject () {
			return this.voteStatus.reduce((ret, cur) => {
				ret[cur.status] = cur.title
				return ret
			}, {})
		},
		//把赛事状态数组转为一级对象
		gameStatusObject () {
			return this.gameStatus.reduce((ret, cur) => {
				ret[cur.status] = cur.title
				return ret
			}, {})
		},

		//todo 整改
		playTypesObject(){
			return {
				1:"胜平负",
			}
		},
		//todo 整改？
		//复核数组转为键值对象
		reviewStatusObject(){
			return this.reviewStatus.reduce((ret, cur) => {
				ret[cur.status] = cur.title
				return ret
			}, {})
		},

	},

	created () {
		this.timestampNow = parseInt((new Date().getTime()) / 1000) //取到当前时间戳
	},


	methods: {
		showLoading () {
			this.loading = true
		},
		hideLoading () {
			this.loading = false
		},
	},
	filters:{

	}
}

